package com.hochschild.sgv.struts.action;

import com.hochschild.sgv.domain.PersonalSap;
import com.hochschild.sgv.domain.Usuario;
import com.hochschild.sgv.domain.Vacacion;
import com.hochschild.sgv.service.EquipoManager;
import com.hochschild.sgv.service.UsuarioManager;
import com.hochschild.sgv.service.VacacionesManager;

import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import org.springframework.beans.factory.annotation.Autowired;

public class EquipoAction extends DispatchAction {

    @Autowired
    private EquipoManager equipoManager;

    public ActionForward cargarEquipoPorUsuario(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

        String idUsuario = request.getParameter("idUsuario");

        List<PersonalSap> lstPersonalSaps = equipoManager.consultarEquipo(idUsuario.toUpperCase(),"","");
        JSONObject jsonObject = new JSONObject();
        if (lstPersonalSaps.isEmpty()) {
            System.out.println("No hay equipo asociado");
        } else {
            System.out.println("Tiene equipo asociado");
            JSONArray jsonArray = new JSONArray();
            for (PersonalSap ps : lstPersonalSaps) {
                JSONObject jsonObject1 = new JSONObject();
                jsonObject1.put("idUsuario", ps.getIdUsuario());
                jsonObject1.put("codigoPersonal", ps.getCodigoPersonal());
                jsonObject1.put("saldoVacaciones", ps.getSaldoVacaciones());
                jsonObject1.put("nombrePosicion", ps.getNombrePosicion());
                jsonObject1.put("codigoPosicion", ps.getCodigoPosicion());
                jsonObject1.put("nombreCompleto", ps.getNombreCompleto());
                jsonArray.add(jsonObject1);
            }

            jsonObject.put("resultadoDetalle", jsonArray);
            request.setAttribute("lstPersonalSaps", lstPersonalSaps);
        }


        response.setContentType("application/json");
        response.getWriter().println(jsonObject.toString());
        return null;    
    }

 public ActionForward cargarEquipo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
     System.out.println("cargarEquipo");
     ListaEquipo(request);
     return mapping.findForward("equipo");
 }
 
 private void ListaEquipo(HttpServletRequest request){
      System.out.println("ListaEquipo");
        HttpSession session = request.getSession();
     Usuario usuario = (Usuario) session.getAttribute("session_usuario");   
     //Obtienes una Lista de Subordinados SAP
     List<PersonalSap> lstPersonalSaps = equipoManager.consultarEquipo(usuario.getIdUsuario().toUpperCase(),"","");
     request.setAttribute("lstPersonalSaps", lstPersonalSaps);
 }
}


